﻿#pragma once

#include "System.h"

class PassFlow;

class MultiSystem : public System
{
public:
  MultiSystem(const Configuration& cfg);
  virtual ~MultiSystem(){};

  void Init() override;
  void Evolve() override;

  std::shared_ptr<PassFlow>& GetStructuredSystem();
  std::shared_ptr<PassFlow>& GetUnStructuredSystem();

protected:
  std::shared_ptr<PassFlow> _structured_sys;
  std::shared_ptr<PassFlow> _unstructured_sys;

};